package com.ruoyi.wgjlcData.service;

import com.ruoyi.wgjlcData.domain.plat.DataWgjlcZhdjlgps;

import java.util.List;
import java.util.concurrent.Future;

/**
 * 无轨胶轮车制动距离测试项Service接口
 * 
 * @author ruoyi
 * @date 2024-02-27
 */
public interface IDataWgjlcZhdjlgpsService 
{
    /**
     * 查询无轨胶轮车制动距离测试项
     * 
     * @param zhdjlgpsId 无轨胶轮车制动距离测试项主键
     * @return 无轨胶轮车制动距离测试项
     */
    public DataWgjlcZhdjlgps selectDataWgjlcZhdjlgpsByZhdjlgpsId(Long zhdjlgpsId);

    /**
     * 查询无轨胶轮车制动距离测试项列表
     * 
     * @param dataWgjlcZhdjlgps 无轨胶轮车制动距离测试项
     * @return 无轨胶轮车制动距离测试项集合
     */
    public List<DataWgjlcZhdjlgps> selectDataWgjlcZhdjlgpsList(DataWgjlcZhdjlgps dataWgjlcZhdjlgps);

    /**
     * 新增无轨胶轮车制动距离测试项
     * 
     * @param dataWgjlcZhdjlgps 无轨胶轮车制动距离测试项
     * @return 结果
     */
    public int insertDataWgjlcZhdjlgps(DataWgjlcZhdjlgps dataWgjlcZhdjlgps);

    /**
     * 修改无轨胶轮车制动距离测试项
     * 
     * @param dataWgjlcZhdjlgps 无轨胶轮车制动距离测试项
     * @return 结果
     */
    public int updateDataWgjlcZhdjlgps(DataWgjlcZhdjlgps dataWgjlcZhdjlgps);

    /**
     * 查询无轨胶轮车-制动距离测试项
     *
     * @param dataTaskId
     * @return 无轨胶轮车-制动距离测试项
     */
    public Future<List<DataWgjlcZhdjlgps>> selectDataWgjlcZhdjlgpsByDataTaskId(Long dataTaskId);

    /**
     * 修改状态为2
     */
    public int updateDataWgjlcZhdjlgpsByDataTaskId(Long dataTaskId);

    /**
     * 批量新增无轨胶轮车-制动距离测试项
     *
     * @param dataWgjlcZhdjlgps 无轨胶轮车-制动距离测试项
     * @return 结果
     */
    public int batchDataWgjlcZhdjlgps(List<DataWgjlcZhdjlgps> dataWgjlcZhdjlgps);

    /**
     * 批量删除无轨胶轮车制动距离测试项
     * 
     * @param zhdjlgpsIds 需要删除的无轨胶轮车制动距离测试项主键集合
     * @return 结果
     */
    public int deleteDataWgjlcZhdjlgpsByZhdjlgpsIds(Long[] zhdjlgpsIds);

    /**
     * 删除无轨胶轮车制动距离测试项信息
     * 
     * @param zhdjlgpsId 无轨胶轮车制动距离测试项主键
     * @return 结果
     */
    public int deleteDataWgjlcZhdjlgpsByZhdjlgpsId(Long zhdjlgpsId);
}
